home *** CD-ROM | disk | FTP | other *** search
/ NOVA - For the NeXT Workstation / NOVA - For the NeXT Workstation.iso / Apps / Utilities / Unix / CommandMon / Indicator.m < prev    next >
Text File  |  1992-12-26  |  722b  |  51 lines

  1.  
  2. #import "Indicator.h"
  3. #import <dpsclient/wraps.h>
  4. #import <appkit/Application.h>
  5.  
  6. @implementation Indicator
  7.  
  8. - initFrame:(NXRect *)frameRect
  9. {
  10.     [super initFrame:frameRect];
  11.     on=NO;
  12.     return self;
  13. }
  14.  
  15. - drawSelf:(NXRect *)rects :(int)count
  16. {
  17.     if (on)
  18.         PSsetrgbcolor(1,0,0);
  19.     else
  20.         PSsetgray(NX_WHITE);
  21.     NXRectFill(&bounds);
  22.     PSsetgray(NX_BLACK);
  23.     NXFrameRect(&bounds);
  24.     return self;
  25. }
  26.         
  27. - flash
  28. {
  29.     void endLight ();
  30.     on=YES;
  31.     [self display];
  32.     if (timer) DPSRemoveTimedEntry(timer);
  33.     timer=DPSAddTimedEntry(.2,&endLight,self,NX_BASETHRESHOLD);
  34.     return self;
  35. }
  36.  
  37. - turnOff
  38. {
  39.     on=NO;
  40.     [self display];
  41.     return self;
  42. }
  43.  
  44. void endLight (DPSTimedEntry timedEntry, double timeNow, void *data)
  45. {
  46.     [(id)data turnOff];
  47. }
  48.  
  49.  
  50. @end
  51.